package br.edu.infnet.avaliacao.converter;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

import br.edu.infnet.avaliacao.dao.UsuarioDAO;
import br.edu.infnet.avaliacao.dao.UsuarioHibernateDAO;
import br.edu.infnet.avaliacao.modelo.Usuario;

@FacesConverter(value = "usuarioConverter")
public class UsuarioConverter implements Converter {
	private UsuarioDAO dao = new UsuarioHibernateDAO();

	@Override
	public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {

		if (arg2 == null || Integer.valueOf(arg2) == 0) {
			return arg2;
		}
		Usuario usuario = null;
		try {
			Usuario u = new Usuario();
			u.setId(Integer.valueOf(arg2));
			usuario = dao.consultar(u.getId());

		} catch (NumberFormatException e) {
			System.out.println("Erro......" + e.getMessage());
			e.printStackTrace();
		}
		return usuario;
	}

	@Override
	public String getAsString(FacesContext arg0, UIComponent arg1, Object value) {
		if (value == null || ((Usuario) value).getId() == 0) {
			return "";
		}
		System.out.println("Value converter --------->" + value.toString());
		Usuario fornecedor = (Usuario) value;

		return String.valueOf(fornecedor.getId());
	}
}